Distance-Based Locality Analysis and Prediction
نویسندگان
چکیده
Profiling can accurately analyze program behavior for select data inputs. This article shows that profiling can also predict program locality for inputs other than profiled ones. Here locality is defined by the distance of data reuse. The article describes three distance-based techniques for whole-program locality analysis. The first is approximate measurement of reuse distance in near linear time. It can measure the reuse distance of all accesses to all data elements in fullsize benchmarks with guaranteed precision. The second is pattern recognition. Based on a few training runs, it classifies patterns as regular and irregular and, for regular ones, it predicts their (changing) behavior for other inputs. It uses regression and multi-model analysis to reduce the prediction error, the space overhead, and the size of the training runs. The last technique is online prediction, which uses distance-based sampling at the beginning of an execution to estimate the locality of the whole execution. When tested on 15 integer and floating-point programs from SPEC and other benchmark suites, these techniques predict with on average 94% accuracy for data inputs up to hundreds times larger than the training inputs. Distance-based locality analysis has been used in measuring and improving the cache performance of a wide range of programs.
منابع مشابه
Is Reuse Distance Applicable to Data Locality Analysis on Chip Multiprocessors?
On Chip Multiprocessors (CMP), it is common that multiple cores share certain levels of cache. The sharing increases the contention in cache and memory-to-chip bandwidth, further highlighting the importance of data locality analysis. As a rigorous and hardware-independent locality metric, reuse distance has served for a variety of locality analysis, program transformations, and performance pred...
متن کاملRegression-Based Multi-Model Prediction of Data Reuse Signature
As a locality metric, the distance of data reuses has been used in designing compiler, architecture, and file systems. Recently, Ding and Zhong described a method that predicts reuse distance histograms across all inputs of a program. In this paper we extend their method in two ways. First, we consider more than two training inputs using regression analysis. Second, we use a method called multi...
متن کاملDistance Analysis for Large - Scale Chip Multiprocessors
Title of dissertation: REUSE DISTANCE ANALYSIS FOR LARGE-SCALE CHIP MULTIPROCESSORS Meng-Ju Wu, Doctor of Philosophy, 2012 Dissertation directed by: Professor Donald Yeung Department of Electrical and Computer Engineering Multicore Reuse Distance (RD) analysis is a powerful tool that can potentially provide a parallel program’s detailed memory behavior. Concurrent Reuse Distance (CRD) and Priva...
متن کاملScalable Implementation of Efficient Locality Approximation
As memory hierarchy becomes deeper and shared by more processors, locality increasingly determines system performance. As a rigorous and precise locality model, reuse distance has been used in program optimizations, performance prediction, memory disambiguation, and locality phase prediction. However, the high cost of measurement has been severely impeding its uses in scenarios requiring high e...
متن کاملPath-Based Reuse Distance Analysis
Profiling can effectively analyze program behavior and provide critical information for feedback-directed or dynamic optimizations. Based on memory profiling, reuse distance analysis has shown much promise in predicting data locality for a program using inputs other than the profiled ones. Both wholeprogram and instruction-based locality can be accurately predicted by reuse distance analysis. R...
متن کامل